266 ROS_기초
ROS 기초 과정은 노드, 토픽, 메시지, 서비스, launch, rosbag을 익혀 로봇 소프트웨어 구조를 만드는 입문 과정이다.
0. 교육을 하는 이유와 궁극적인 목표
학습자가 개별 코드 실행을 넘어 여러 프로세스가 메시지로 협력하는 ROS 구조를 이해하고, 센서 입력과 모터 출력이 연결된 작은 로봇 애플리케이션을 만들게 하는 것이다.
참고한 유료형 교육 흐름
- 민간 로봇 부트캠프처럼 시뮬레이션·실기·테스트 로그·개선 발표를 하나의 포트폴리오로 누적하는 흐름
- 미국·영국 로보틱스 아카데미처럼 ROS 2, Gazebo, RViz, Python, C++ 기반 실전 프로젝트를 중심으로 운영하는 흐름
- 유럽 전문 로봇 교육처럼 안전구역, 전원·토크 제한, 센서 캘리브레이션, 팀별 데모 검증을 필수 절차로 포함하는 흐름
- 유료 산업 로보틱스 과정처럼 SLAM, LiDAR, 비전, 경로계획, 디지털 트윈을 실제 문제 해결 산출물로 연결하는 흐름
입문 · 1일
ROS 기초 핵심 구조와 개발 환경 구축
ROS 기초 실전 프로젝트 1단계


| 구분 | 세부 내용 | 실천·실습 방법 |
|---|---|---|
| 목표 1 | ROS 기초 개념 맵 작성 | ROS 기초에서 반드시 알아야 할 입력 데이터, 처리 모듈, 출력 행동을 블록도로 구성한다. 실제 로봇 또는 시뮬레이터에서 기본 예제를 실행하고 로그가 발생하는 위치를 확인한다. |
| 목표 2 | ROS 기초 실습 환경 점검 | 설치 버전, 장치 연결, 패키지 의존성, 통신 포트를 체크리스트로 확인한다. 오류 메시지를 캡처하고 원인·해결·재발 방지 항목으로 정리한다. |
| 목표 3 | ROS 기초 안전 기준 설정 | 로봇 이동 범위, 전원 차단, 센서 보호, 실험자 위치를 사전에 정한다. 실험 전후 점검표를 작성해 교육 현장에서 반복 가능한 운영 절차로 만든다. |
| 사용 플랫폼 | Ubuntu 20.04, ROS Noetic, Python, C++, RViz, Gazebo, rosbag |
|---|---|
| 강사 스펙 | Linux, ROS Noetic, Python/C++ 노드 작성, Gazebo/RViz 실습 경험 4년 이상 |
| 수업대상 | 고등학생 심화, 대학 입문, SW강사 |
| 소요시간 | 총 24시간 |
| 준비물 | Ubuntu 노트북 또는 VM, TurtleBot3 시뮬레이션, 네트워크 환경 |
| 산출물 | ROS 기초 환경 구축 보고서, 체크리스트 |
| 평가방법 | 개념 이해 30%, 환경 구축 30%, 안전 25%, 기록 15% |
초급 · 2일
ROS 기초 기본 기능 구현
ROS 기초 실전 프로젝트 2단계



| 구분 | 세부 내용 | 실천·실습 방법 |
|---|---|---|
| 목표 1 | 기본 예제 코드 분석 | 제공된 예제의 입력, 처리, 출력 부분을 주석으로 분해해 실행 흐름을 설명한다. 변수 하나씩 바꾸며 결과가 어떻게 달라지는지 실험표로 기록한다. |
| 목표 2 | 작은 미션으로 기능 연결 | 센서 읽기, 판단, 동작 명령 중 두 가지 이상을 연결한 미니 미션을 만든다. 성공 조건과 실패 조건을 수치로 정하고 반복 테스트를 진행한다. |
| 목표 3 | 디버깅 루틴 적용 | 터미널 로그, 시각화 도구, 저장 데이터를 이용해 오류 위치를 좁힌다. 수정 전후 결과를 비교해 코드 변경 이유를 팀원에게 설명한다. |
| 사용 플랫폼 | Ubuntu 20.04, ROS Noetic, Python, C++, RViz, Gazebo, rosbag |
|---|---|
| 강사 스펙 | Linux, ROS Noetic, Python/C++ 노드 작성, Gazebo/RViz 실습 경험 4년 이상 |
| 수업대상 | 고등학생 심화, 대학 입문, SW강사 |
| 소요시간 | 총 24시간 |
| 준비물 | Ubuntu 노트북 또는 VM, TurtleBot3 시뮬레이션, 네트워크 환경 |
| 산출물 | ROS 기초 기본 미션 코드와 실험표 |
| 평가방법 | 구현 35%, 실험 25%, 디버깅 25%, 협업 15% |
중급 · 3일
ROS 기초 데이터 기반 성능 개선
ROS 기초 실전 프로젝트 3단계



| 구분 | 세부 내용 | 실천·실습 방법 |
|---|---|---|
| 목표 1 | 성능 지표 정의 | 정확도, 지연시간, 흔들림, 누락률, 실패 횟수 중 과목에 맞는 지표를 선택한다. 테스트 조건을 고정하고 파라미터 변경에 따른 결과를 그래프로 비교한다. |
| 목표 2 | 파라미터 튜닝 | 임계값, 속도, 주기, 필터 계수, 해상도 등 핵심 파라미터를 단계적으로 조정한다. 과도한 튜닝으로 발생하는 부작용을 찾아 안정적인 기본값을 제안한다. |
| 목표 3 | 실제 환경 검증 | 조명, 바닥, 장애물, 네트워크 지연 등 현실 조건을 하나씩 추가해 테스트한다. 실패 사례를 재현 가능한 시나리오로 정리하고 개선 우선순위를 정한다. |
| 사용 플랫폼 | Ubuntu 20.04, ROS Noetic, Python, C++, RViz, Gazebo, rosbag |
|---|---|
| 강사 스펙 | Linux, ROS Noetic, Python/C++ 노드 작성, Gazebo/RViz 실습 경험 4년 이상 |
| 수업대상 | 고등학생 심화, 대학 입문, SW강사 |
| 소요시간 | 총 24시간 |
| 준비물 | Ubuntu 노트북 또는 VM, TurtleBot3 시뮬레이션, 네트워크 환경 |
| 산출물 | ROS 기초 성능 개선 리포트 |
| 평가방법 | 데이터 분석 35%, 튜닝 30%, 검증 20%, 문서화 15% |
심화 · 4일
ROS 기초 최종 통합 프로젝트
ROS 기초 실전 프로젝트 4단계


| 구분 | 세부 내용 | 실천·실습 방법 |
|---|---|---|
| 목표 1 | 통합 미션 설계 | 출발 조건, 입력 센서, 판단 로직, 동작 결과가 포함된 최종 미션 시나리오를 작성한다. 역할을 시스템 설계, 코드 구현, 실험 기록, 발표로 나누어 팀 개발을 진행한다. |
| 목표 2 | 현장형 테스트 운영 | 제한 시간 안에 설치, 실행, 오류 복구, 결과 저장까지 수행하는 실전 리허설을 진행한다. 실패 상황을 일부러 만들고 복구 절차가 실제로 작동하는지 검증한다. |
| 목표 3 | 결과 발표와 기술 문서화 | 아키텍처, 코드 핵심, 데이터 결과, 한계, 개선안을 발표자료로 정리한다. 데모 영상과 GitHub README 형식의 기술 문서를 함께 제출한다. |
| 사용 플랫폼 | Ubuntu 20.04, ROS Noetic, Python, C++, RViz, Gazebo, rosbag |
|---|---|
| 강사 스펙 | Linux, ROS Noetic, Python/C++ 노드 작성, Gazebo/RViz 실습 경험 4년 이상 |
| 수업대상 | 고등학생 심화, 대학 입문, SW강사 |
| 소요시간 | 총 24시간 |
| 준비물 | Ubuntu 노트북 또는 VM, TurtleBot3 시뮬레이션, 네트워크 환경 |
| 산출물 | ROS 기초 통합 데모, 기술문서, 발표자료 |
| 평가방법 | 미션 성공 35%, 완성도 30%, 기술 설명 20%, 발표 15% |